hysop.operator.base.memory_reordering module

class hysop.operator.base.memory_reordering.MemoryReorderingBase(input_field, output_field, variables, target_memory_order, name=None, pretty_name=None, **kwds)[source]

Bases: object

Common implementation interface for memory reordering operators.

Initialize a memory reordering operator operating on CartesianTopologyDescriptors.

Parameters:
  • input_field (ScalarField) – Scalar input continuous field to be memory reordered.

  • output_field (ScalarField) – Scalar output continuous field to be memory reordered.

  • variables (dict) – Dictionary of ScalarField as keys and CartesianTopologyDescriptors as values. Should contain input and output scalar fields.

  • target_memory_order (MemoryOrdering) – Target memory order to achieve.

  • kwds – Keywords arguments that will be passed towards base.

get_field_requirements()[source]
get_node_requirements()[source]
output_topology_state(output_field, input_topology_states)[source]
classmethod supports_mpi()[source]